Código fuente de 'Fechas en lista desplegable.asp'

<html>
<head>
<title>Fechas en lista desplegable - Códigos asp, programacion asp, descargas asp, rutinas asp</title>
</head>
<body style="font-family: Arial; font-size: 9pt">
<p align="center"><b><font size="3">Fechas en lista desplegable</font></b></p>


<script language=javascript>
function fnSubmit(strPage)
{
  document.forms[0].action= strPage
  document.forms[0].submit()	
}

</script>
<CENTER>
<%

'here is the call
writedropdowns

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'writeDropDowns
'purpose - write three drop down boxes where the days available are based on month and year
'notes - this submits to the page each time a month or year is selected and recalculates the number
'           of days 
'       -I use a javascript function to submit my form, this may seem a bit much
'           but it allows me to customize better, If i want I can throw other validation in it, or
'           a frame target
'by: Devin Garlit dgarlit@hotmail.com
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub writeDropDowns()
  Dim strSelfLink
  strSelfLink = request.servervariables("SCRIPT_NAME")
  response.Write "<form name=dates method=post>" & vbcrlf
  response.Write MonthDropDown("month1",False,request("month1"),strSelfLink) & " " & DayDropDown("day1", "",getDaysInMonth(request("month1"),request("year1")),request("day1")) & " " & YearDropDown("year1","","", request("year1"),strSelfLink) & vbcrlf
  response.Write "</form>"	& vbcrlf
End Sub
		
		
'MonthDropDown
'strName = name of drop down
'blnNum = 'If blnNUM Is True, Then show As numbers
'strSelected = the currenct selected month
'strSelfLink = link to current page
Function MonthDropDown(strName, blnNum, strSelected, strSelfLink)
  Dim strTemp, i, strSelectedString			
  strTemp = "<select name='" & strName& "' onchange='javascript: fnSubmit(" & chr(34) & strSelfLink & chr(34) & ")'>" & vbcrlf
  strTemp = strTemp & "<option value='" & 0 & "'>" & "Mes" & "</option>" & vbcrlf			
  For i = 1 To 12
    If strSelected = CStr(i) Then
	strSelectedString = "Selected"
    Else
	strSelectedString = ""
    End If
			
    If blnNum Then
      strTemp = strTemp & "<option value='" & i & "' " & strSelectedString & " >" & i & "</option>" & vbcrlf			
    Else
	strTemp = strTemp & "<option value='" & i & "' " & strSelectedString & " >" & MonthName(i) & "</option>" & vbcrlf			
    End If
  Next					
  strTemp = strTemp & "</select>" & vbcrlf	
  MonthDropDown = strTemp
End Function



'YearDropDown
'strName = name of dropdown
'intStartYear = year to start options list
'intEndYear = year to end options list
'strSelected = the currenct selected year
'strSelfLink = link To currentpage

Function YearDropDown(strName, intStartYear, intEndYear, strSelected, strSelfLink)
  
  Dim strTemp, i, strSelectedString	
  
  If intStartYear = "" Then
    intStartYear = Year(now())
  End If	
	
  If intEndYear = "" Then
    intEndYear = Year(now()) + 9
  End If
	
  strTemp = "<select name='" & strName& "' onchange='javascript: fnSubmit(" & chr(34) & strSelfLink & chr(34) & ")'>" & vbcrlf			
  strTemp = strTemp & "<option value='" & 0 & "'>" & "Año" & "</option>" & vbcrlf			
  For i = intStartYear To intEndYear		
    If strSelected = CStr(i) Then
      strSelectedString = "Selected"
    Else
      strSelectedString = ""
    End If
    strTemp = strTemp & "<option value='" & i & "' " & strSelectedString & " >" & i & "</option>" & vbcrlf							
   Next					
   strTemp = strTemp & "</select>" & vbcrlf	
   YearDropDown = strTemp
End Function



'DayDropDown
'strName = name of drop down
'intStartDay = day to start with
'intEndDay = day to end with
'strSelected = current slected day

Function DayDropDown(strName, intStartDay, intEndDay, strSelected )
	Dim strTemp, i, strSelectedString	
	If intStartDay = "" Then
	  intStartDay = 1
	End If	
	
	If intEndDay = "" Then
	  intEndDay = getDaysInMonth(Month(now()),Year(now())) 
	End If
	
	strTemp = "<select name='" & strName& "'>" & vbcrlf			
	strTemp = strTemp & "<option value='" & 0 & "'>" & "Día" & "</option>" & vbcrlf			
	For i = intStartDay To intEndDay
	  If strSelected = CStr(i) Then
	    strSelectedString = "Selected"
	  Else
	    strSelectedString = ""
	  End If
	  strTemp = strTemp & "<option value='" & i & "' " & strSelectedString & " >" & i & "</option>" & vbcrlf							
	Next					
	strTemp = strTemp & "</select>" & vbcrlf	
	DayDropDown = strTemp
End Function



'getDaysInMonth
'strMonth = month as number
'strYear = year

Function getDaysInMonth(strMonth,strYear)
		Dim strDays	 
    Select Case CInt(strMonth)
        Case 1,3,5,7,8,10,12:
		strDays = 31
        Case 4,6,9,11:
	       strDays = 30
        Case 2:
		If  ( (CInt(strYear) Mod 4 = 0  And  CInt(strYear) Mod 100 <> 0)  Or ( CInt(strYear) Mod 400 = 0) ) Then
		  strDays = 29
		Else
		  strDays = 28
		End If	
        'Case Else:
    End Select 
        
    getDaysInMonth = strDays
End Function	
%>

</CENTER>

</body>
</html>